package com.yeban.javase.day18.test.test1;

/**
 * @Desc TODO
 * @Author yeban
 * @Date 2025/11/2
 */
public class JoinCBA2 {

    public static void main(String[] args) {

        // 1.先创建A、B、C线程
        Thread tA = new Thread(() -> {
            System.out.println(Thread.currentThread().getName());
        }, "A线程");

        Thread tB = new Thread(() -> {
            System.out.println(Thread.currentThread().getName());
        }, "B线程");

        Thread tC = new Thread(() -> {
            System.out.println(Thread.currentThread().getName());
        }, "C线程");

        // 2.使用join确定线程执行的先后顺序：C、B、A
        // 先启动C线程，并等它执行完成
        tC.start();
        try {
            tC.join();
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

        // 再启动C线程，并等它执行完成
        tB.start();
        try {
            tB.join();
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

        // 最后启动C线程
        tA.start();
    }
}
